
n = 0


def triangles():
    arr_pre = arr = []
    while True:
        for i in range(1, n + 2):
            if i == 1:
                arr.append(1)
            elif i == n + 1:
                arr.append(1)
            else:
                arr.append(arr_pre[i - 1 - 1] + arr_pre[i - 1])
        yield arr.copy()
        arr_pre = arr.copy()
        arr.clear()


results = []
for t in triangles():
    print(t)
    results.append(t)
    n = n + 1
    if n == 10:
        break

for t in results:
    print(t)

if results == [
    [1],
    [1, 1],
    [1, 2, 1],
    [1, 3, 3, 1],
    [1, 4, 6, 4, 1],
    [1, 5, 10, 10, 5, 1],
    [1, 6, 15, 20, 15, 6, 1],
    [1, 7, 21, 35, 35, 21, 7, 1],
    [1, 8, 28, 56, 70, 56, 28, 8, 1],
    [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
]:
    print('测试通过!')
else:
    print('测试失败!')
